package com.fling;

import com.badlogic.gdx.Gdx;
import com.fling.objects.Block;
import com.fling.objects.Hero;
import com.fling.objects.Wall;

public interface Constants {

	public static final String NULL = "data/art/hero.png";
	public static final String WALL_PATH = "data/art/wall.png";
	public static final String WALL_EASY_PATH = "data/art/wall_easy.png";
	public static final String HERO_CLIMB_PATH = "data/art/hero_climb2.png";
	public static final String HERO_UP_PATH = "data/art/hero_up2.png";
	public static final String HERO_FLY_PATH = "data/art/hero_fly2.png";
	public static final String BLOCK_PATH = "data/art/block2.png";
	public static final String BLOCK_EASY_PATH = "data/art/block_easy.png";
	public static final String BLOCK_BACKGROUND_PATH = "data/art/blockBack.png";
	public static final String COIN_PATH = "data/art/coins.png";
	public static final String SINGLE_COIN_PATH = "data/art/singleCoin.png";
	public static final String BACKGROUND_EASY = "data/art/background5.png";
	public static final String BACKGROUNDMAIN = "data/art/background.png";
	public static final String BACKGROUND_HARD = "data/art/background4.png";
	public static final String BORDER_GRAY = "data/art/border_gray.png";
	public static final String MUTE = "data/art/mute.png";
	public static final String UNMUTE= "data/art/unmute.png";
	public static final String LEADERBOARD= "data/art/leaderboard.png";
	public static final String ACHIEVEMENT= "data/art/achievement.png";
	public static final String SIGN_IN= "data/art/signIn.png";
	public static final String SIGN_OUT= "data/art/signOut.png";
	
	public static final String FONT= "data/PRIMELEC.ttf";

	public static final String passRowSound = "data/sound/passRow.mp3";
	public static final String unpassRowSound = "data/sound/unpassRow.mp3";
	public static final String menuClick = "data/sound/menuClick.wav";
	public static final String coinSound = "data/sound/coin3.mp3";
	public static final String firstJumpSound = "data/sound/fling1.mp3";
	public static final String secondJumpSound = "data/sound/fling2.mp3";
	public static final String thirdJumpSound = "data/sound/fling3.mp3";
	public static final String restartSound = "data/sound/restart.wav";
	public static final String wallSound = "data/sound/wall.mp3";
	public static final String startSound = "data/sound/bell.wav";

	public enum SOUND {
		PASS(0), UNPASS(1), MENU(2), COIN(3), FIRST_JUMP(4), SECOND_JUMP(5), THIRD_JUMP(6), RESTART(7), WALL(8), START(9);
		private final int value;

		private SOUND(int value) {
			this.value = value;
		}

		public int getValue() {
			return value;
		}
	}

	public static final float SCALE = 0.0625f;
	public static final float MAX_VELOCITY = 20;
	public static float SCREEN_WIDTH = (float) Gdx.graphics.getWidth() * SCALE;
	public static float SCREEN_HEIGHT = (float) Gdx.graphics.getHeight() * SCALE;
	public static float BORDER_HEIGHT = 1;
	public static final float VIRTUAL_WIDTH = 720 * SCALE;
	public static final float VIRTUAL_HEIGHT = 1280 * SCALE;
	public static final float ASPECT_RATIO = (float) VIRTUAL_WIDTH / (float) VIRTUAL_HEIGHT;
	public static final float UI_SCALE_X = VIRTUAL_WIDTH / SCREEN_WIDTH;
	public static final float UI_SCALE_Y = VIRTUAL_HEIGHT / SCREEN_HEIGHT;
	public static final float UI_SCALE = (UI_SCALE_X + UI_SCALE_Y) / 2;

	public static float WALL_WIDTH = 64 * SCALE * Wall.SCALE;
	public static float WALL_HEIGHT = 1280 * SCALE * Wall.SCALE;
	public static float HERO_WIDTH = 52 * SCALE * Hero.SCALE;
	public static float HERO_HEIGHT = 100 * SCALE * Hero.SCALE;
	public static float BACK_BLOCK_HEIGHT = 35 * SCALE * Block.SCALE;
	public static float BLOCK_HEIGHT = 74 * SCALE * Block.SCALE;
	public static float BLOCK_WIDTH = 148 * SCALE * Block.SCALE;
	public static int NUM_OF_BLOCKS = 4;
	public static int STORED_ROWS = 10;
	public static float DEFAULT_VOLUME=0.5f;
	
	public static String ACHV_SMALL_CLIMBER="CgkIj_yP1MEMEAIQAw";
	public static String ACHV_AVERAGE_CLIMBER="CgkIj_yP1MEMEAIQAg";
	public static String ACHV_BIG_CLIMBER="CgkIj_yP1MEMEAIQAQ";
	public static String ACHV_HOARDER="CgkIj_yP1MEMEAIQBA";
	public static String ACHV_HARDCORE="CgkIj_yP1MEMEAIQBQ";
	
	public static String N_ACHV_SMALL_CLIMBER="Small Climber!";
	public static String N_ACHV_AVERAGE_CLIMBER="Just an average climber";
	public static String N_ACHV_BIG_CLIMBER="Big Climber!";
	public static String N_ACHV_HOARDER="Hoarder";
	public static String N_ACHV_HARDCORE="Hardcore!";


	public enum TYPE {
		HERO, WALL, BLOCK, COIN;
	}

	public enum INPUT {
		CLIMB, FALL, JUMP_RIGHT, JUMP_DOWN, JUMP_LEFT, JUMP_UP
	};

	public enum STATE_TYPE {
		FALL_STATE, CLIMB_STATE, FIRST_JUMP_STATE, SECOND_JUMP_STATE, THIRD_JUMP_STATE
	}

}
